Static Single Assignment Form and the Dominance Relation

نویسندگان

  • Philip Brisk
  • Majid Sarrafzadeh
چکیده

A procedure is defined to be strict if every variable is defined before it is used along every path of program execution. A regular program is a strict procedure in Static Single Assignment (SSA) Form. Recently, it has been proven that the interference graph for regular program is a chordal graph. This yielded an optimal polynomial-time algorithm for register allocation for high-level synthesis. Unfortunately, for SSA Form applications that are not regular, the interference graph is not chordal. To address this issue, this paper presents an algorithm that can take an irregular SSA Form procedure and convert it into regular form. This makes it possible to optimally allocate registers for any procedure in SSA Form, regardless of whether or not it is regular. In other words, optimal polynomial-time register allocation can be achieved for any procedure by converting it to SSA Form.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Static Single Assignment Form and its Computation

The Static Single Assignment (SSA) form of programs is a commonly used intermediate representation of programs in optimizing compilers. The key step in converting a program to SSA form is called-placement. Cytron et al used dominance frontiers to design a-placement algorithm whose running time grows quadratically with the size of the control ow graph of the program. Recent eeorts by the compile...

متن کامل

An Efficient Storeless Heap Abstraction Using SSA Form

Precise, flow-sensitive analyses of pointer relationships often use a storeless heap abstraction. In this model, an object is represented using some abstraction of the expressions that refer to it (i.e. access paths). Many analyses using such an abstraction are difficult to scale due to the size of the abstraction and due to flow sensitivity. Typically, an object is represented by the set of lo...

متن کامل

Static single information from a functional perspective

Static single information form is a natural extension of the well-known static single assignment form. It is a program intermediate representation used in optimising compilers for imperative programming languages. In this paper we show how a program expressed in static single information form can be transformed into an equivalent program in functional notation. We also examine the implications ...

متن کامل

Mechanized Verification of Computing Dominators for Formalizing Compilers

One prerequisite to the formal verification of modern compilers is to formalize computing dominators, which enable SSA forms, advanced optimizations, and analysis. This paper provides an abstract specification of dominance analysis that is sufficient for formalizing modern compilers; it describes a certified implementation and instance of the specification that is simple to design and reason ab...

متن کامل

Task Static Single Assignment (T-SSA) and Its Use in Safe Program Parallelization (short paper)

The mechanism of copy-on-write is recently used in speculative and deterministic parallel systems. In these systems, copy-on-write happens when a task modifies a variable for the first time. At the program level, the copying is a form of renaming. This paper extends the formalism of static single assignment (SSA) to introduce a program representation called task static single assignment (T-SSA)...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007